package cn.edu.zafu.bigdata.fui;

import java.util.ArrayList;
import java.util.List;

public class Course {
    private String title;         // 课程名称
    private String instructor;    // 讲师名称
    private int credits;          // 学分
    private List<String> students; // 学生列表

    // 构造方法
    public Course(String title, String instructor, int credits) {
        this.title = title;
        this.instructor = instructor;
        this.credits = credits;
        this.students = new ArrayList<>();
    }

    // 添加学生
    public void addStudent(String studentName) {
        students.add(studentName);
        System.out.println(studentName + " 已成功添加到课程 " + title + ".");
    }

    // 移除学生
    public void removeStudent(String studentName) {
        if (students.contains(studentName)) {
            students.remove(studentName);
            System.out.println(studentName + " 已从课程 " + title + " 中移除.");
        } else {
            System.out.println(studentName + " 不在课程 " + title + " 的学生列表中.");
        }
    }

    // 获取学生列表
    public List<String> getStudentList() {
        return students;
    }

    // 获取课程信息
    @Override
    public String toString() {
        return "课程名称: " + title + ", 讲师: " + instructor + ", 学分: " + credits + ", 学生数量: " + students.size();
    }

    // 主方法用于测试
    public static void main(String[] args) {
        // 创建一个课程实例
        Course course = new Course("Java 编程", "张老师", 4);

        // 添加学生
        course.addStudent("李华");
        course.addStudent("王明");

        // 打印课程信息
        System.out.println(course);

        // 获取学生列表
        System.out.println("学生列表: " + course.getStudentList());

        // 移除学生
        course.removeStudent("李华");

        // 打印课程信息
        System.out.println(course);
    }
}